- 01. Architecting on the Fly
- 02. Looking Forward
- 03. Lesson Introduction
- 04. Exercise: Tour of the App
- 05. Where the App Falls Short
- 06. What is Architecture
- 07. Our App Architecture
- 08. ViewModel
- 09. Quiz: ViewModel
- 10. Exercise: Create the GameViewModel
- 11. What Belongs in the GameViewModel?
- 12. Exercise: Populate the GameViewModel
- 13. The Benefits of a Good Architecture
- 14. The Power and Limits of the ViewModel
- 15. LiveData
- 16. Exercise: Add LiveData to GameViewModel
- 17. Lifecycle Awareness
- 18. Exercise: Add LiveData Encapsulation to GameViewModel
- 19. Event vs. State
- 20. Exercise: Add End Game Event
- 21. Google Interview: Yigit Boyar
- 22. Adding a Timer
- 23. Exercise: Add CountDownTimer
- 24. Exercise: Add a ViewModelFactory
- 25. Exercise: Add ViewModel to Data Binding
- 26. Exercise: Add LiveData Data Binding
- 27. Exercise: LiveData Map Transformation
- 28. Quiz
- 29. Optional Exercise: Adding the Buzzer
- 30. Recap of Architecture and Lifecycles